[Script Pascal] Verificando quantos Caracteres por Segundo tem a legenda
Publicado por rafael farias novaes 26/01/2009
[ Hits: 7.246 ]
Homepage: http://www.vivaolinux.com.br/perfil/verPerfil.php?login=bfmano
Seguindo a linha de garimpagem do Pix, estou pesquisando na internet alguns scripts pascal que facilitam nossa vida.
Este gera um relatório dizendo se sua legenda está nos "padrões" de 25 caracteres exibidos em 1 segundo (tempo-limite que a maioria das pessoas leva pra ler a legenda). OBS: o padrão oficial para dvd's comerciais e filmes de cinema é de 13 a 18 cps em média.
Salve este código com o nome ShowCPS.pas na pasta PascalScripts do Subtitle Workshop
// Made by Buzcatcher
program ShowCPS;
// ---------------------------------------------
const
cpsreport = 'C:\cps_report.txt';
CRLF = ''#13''#10;
Rsep = ' | ';
var
i, n, p : Integer;
duration, sublength, cps : Integer;
subtxt, report : String;
Ms : TmemoryStream;
begin
Ms := TmemoryStream.Create;
n := GetSubtitleCount-1;
for i := 0 to n do
begin
subtxt := GetSubtitleText(i);
sublength := length(subtxt);
p := pos(''#13''#10, subtxt);
if (p>0) then
sublength := sublength - 2;
duration := GetSubtitleFinalTime(i) - GetSubtitleInitialTime(i);
cps := round((sublength * 1000)/ duration);
report := IntToStr(i+1) + Rsep + IntToStr(sublength) + ' Characters' + Rsep + IntToStr(duration) + ' duration(ms)' + Rsep + '==> ' + IntToStr(cps) + ' Char/sec.'
if (cps > 25) then
report := report + Rsep + 'LEGENDA MUITO RAPIDA'
report := report + CRLF
Ms.Write(report, length(report));
try
Ms.SaveToFile(cpsreport);
except
MsgBox('Couldn''t write to file!', '&Ok', '', '', $20);
end;
end;
Ms.Free;
MsgBox('Report saved in C:\cps_report.txt', '&Ok', '', '', $20);
end.
Funções de Manipulação de Arquivos Pascal
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (10)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









